<?php
/**
 * Создает ссылку, если она не указывает на текущую старинцу, иначе не-ссылку.
 *
 * usage:
 *
 *   {{!!link href="/www/index.html" class="target-"}}ССылко{{/!!}}
 *   если ссылка вычисляется в шаблоне
 *   {{!!link href=(/ . community.url . "/") class="target-"}}ССылко{{/!!}}
 *
 * Замечания
 *
 * 1. Алгоритм учитывает только абсолютные пути, без указания сервера.
 *    т.е.
 *      {{!!link href="../index.html" class="target-"}}ССылко{{/!!}}
 *      {{!!link href="http://platonica.ru/index.html" class="target-"}}ССылко{{/!!}}
 *    будут ВСЕГДА ССЫЛКАМИ
 *
 * 2. Алгоритм игнорирует / на конце ссылок.
 * 3. Алгоритм специально не уничтожает атрибут href у не-ссылок, чтобы не нарушать
 *    работу js, который может привязыватся к значению этого атрибута.
 */

// тэг для ссылки
$tag_link = "a";
// тэг для не-ссылки
$tag_plain = "span";

$href = $params['href'];
$body = $params[0];

$attrs = array();

foreach ($params as $k=>$v) {
	if (!is_int($k)) $attrs[] = "$k=\"$v\"";
}

$tag = (!$href || substr($href, 0, 1) == '/' && (rtrim($href, '/') == rtrim($_SERVER['REQUEST_URI'], '/'))) ? $tag_plain : $tag_link;

echo $tag
	? ("<$tag" . ($attrs ? ' ' . implode(' ', $attrs) :'') . ($body ? ">" . $body . "</$tag>" : "/>"))
	: $body;


?>
